home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Celestin Apprentice 7
/
Apprentice-Release7.iso
/
Source Code
/
Pascal
/
Snippets
/
PNL Libraries
/
Libraries
/
SpriteWorld
/
SpriteWorld files
/
Interfaces
/
Tiling.p
< prev
Wrap
Text File
|
1996-12-05
|
4KB
|
77 lines
unit Tiling;
interface
{/--------------------------------------------------------------------------------------}
{ Tiling.h}
{}
{ By: Vern Jensen 10/27/95}
{/--------------------------------------------------------------------------------------}
{$PUSH}
{$ALIGN MAC68K}
{/--------------------------------------------------------------------------------------}
{ define the TileMapPtr}
{/--------------------------------------------------------------------------------------}
uses
{$IFC undefined THINK_Pascal}
Types,
{$ENDC}
SWCommonHeaders, Sprite, SpriteFrame;
type
XTileArray = array[0..0] of integer;
XTileArrayPtr = ^XTileArray;
XTileArrayPtrArray = array[0..0] of XTileArrayPtr;
TileMapPtr = ^XTileArrayPtrArray;
type
{$IFC undefined THINK_Pascal}
TileChangeProcPtr = procedure ( spriteWorldP :SpriteWorldPtr );
{$ELSEC}
TileChangeProcPtr = ProcPtr;
{$ENDC}
{/--------------------------------------------------------------------------------------}
{ tile function prototypes}
{/--------------------------------------------------------------------------------------}
function SWInitTiling (spriteWorldP: SpriteWorldPtr; tileHeight: Integer; tileWidth: Integer; maxNumTiles: Integer): OSErr;
procedure SWExitTiling (spriteWorldP: SpriteWorldPtr);
function SWCreateTileMap (spriteWorldP: SpriteWorldPtr; var tileMapPtr: TileMapPtr; numTileMapRows: Integer; numTileMapCols: Integer): OSErr;
procedure SWDisposeTileMap (spriteWorldP: SpriteWorldPtr);
function SWResizeTileMap (spriteWorldP: SpriteWorldPtr; var tileMapPtr: TileMapPtr; numNewTileMapRows: Integer; numNewTileMapCols: Integer): OSErr;
function SWLoadTileMap (spriteWorldP: SpriteWorldPtr; var tileMapPtr: TileMapPtr; resourceID: Integer): OSErr;
function SWSaveTileMap (spriteWorldP: SpriteWorldPtr; resourceID: Integer): OSErr;
procedure SWLockTiles (spriteWorldP: SpriteWorldPtr);
procedure SWUnlockTiles (spriteWorldP: SpriteWorldPtr);
procedure SWSetTilingOn (spriteWorldP: SpriteWorldPtr; tilingIsOn: Boolean);
procedure SWSetSpriteUnderTiles (srcSpriteP: SpritePtr; isUnder: Boolean);
function SWSetTileMaskDrawProc (spriteWorldP: SpriteWorldPtr; drawProc: DrawProcPtr): OSErr;
function SWLoadTileFromCicnResource (spriteWorldP: SpriteWorldPtr; tileID: Integer; cicnID: Integer; maskKind: MaskType): OSErr;
function SWLoadTilesFromPictResource (spriteWorldP: SpriteWorldPtr; startTileID: Integer; endTileID: Integer; pictResID: Integer; maskResID: Integer; maskType: MaskType; horizBorderWidth: Integer; vertBorderHeight: Integer): OSErr;
procedure SWDisposeTile (spriteWorldP: SpriteWorldPtr; tileID: Integer);
function SWDrawTilesInBackground (spriteWorldP: SpriteWorldPtr): OSErr;
procedure SWResetTilingCache (spriteWorldP: SpriteWorldPtr);
procedure SWDrawTile (spriteWorldP: SpriteWorldPtr; tileRow: Integer; tileCol: Integer; tileID: Integer);
procedure SWSetTileChangeProc (spriteWorldP: SpriteWorldPtr; tileChangeProc: TileChangeProcPtr);
procedure SWChangeTileImage (spriteWorldP: SpriteWorldPtr; tileID: Integer; currentFrame: Integer);
procedure SWUpdateTileOnScreen (spriteWorldP: SpriteWorldPtr; tileID: Integer);
procedure SWResetCurrentTileImages (spriteWorldP: SpriteWorldPtr);
procedure SWDrawTilesInRect (spriteWorldP: SpriteWorldPtr; var updateRectP: Rect; faster: Boolean);
procedure SWDrawTilesAboveSprite (spriteWorldP: SpriteWorldPtr; var updateRectP: Rect);
procedure SWWrapRectToWorkArea (spriteWorldP: SpriteWorldPtr; var dstRectP: Rect);
{$ALIGN RESET}
{$POP}
{$IFC not undefined THINK_Pascal}
implementation
{$ENDC}
end.